7e086b115465ecb934242c2d9765a90a70b34b3c,src/main/java/org/geppetto/model/neuroml/modelInterpreterUtils/PopulateProjectionTypes.java,PopulateProjectionTypes,extractConnection,#Component#ArrayType#Variable#ArrayType#Variable#,88

Before Change


				connection.setA(PointerUtility.getPointer(prePopulationVariable, prePopulationType, Integer.parseInt(preCell)));
				if(preSegmentId != null)
				{
					VisualReference visualReference = ValuesFactory.eINSTANCE.createVisualReference();
					connection.getA().setVisualReference(visualReference);
					Variable targetVisualVariable = NeuroMLModelInterpreterUtils.getVisualVariable(preSegmentId);
					visualReference.setVisualVariable(targetVisualVariable);
					if(preFractionAlong != null)
					{
						visualReference.setFraction(Float.parseFloat(preFractionAlong));
					}
				}
			}
			if(postCell != null)
			{
				connection.setB(PointerUtility.getPointer(postPopulationVariable, postPopulationType, Integer.parseInt(postCell)));
				if(postSegmentId != null)
				{
					VisualReference visualReference = ValuesFactory.eINSTANCE.createVisualReference();
					connection.getB().setVisualReference(visualReference);
					Variable targetVisualVariable = NeuroMLModelInterpreterUtils.getVisualVariable(postSegmentId);
					visualReference.setVisualVariable(targetVisualVariable);
					if(postFractionAlong != null)
					{
						visualReference.setFraction(Float.parseFloat(postFractionAlong));
					}
				}
			}

After Change


			String postCell = ModelInterpreterUtils.parseCellRefStringForCellNum(projectionChild.getAttributeValue("postCellId"));
			String preSegmentId = null ;
			if(projectionChild.hasAttribute("preSegmentId")){
				preSegmentId=projectionChild.getAttributeValue("preSegmentId");
			}
			String preFractionAlong = null;
			if(projectionChild.hasAttribute("preFractionAlong")){
				preFractionAlong=projectionChild.getAttributeValue("preFractionAlong");
			}
			String postSegmentId = null;
			if(projectionChild.hasAttribute("postSegmentId")){
				postSegmentId=projectionChild.getAttributeValue("postSegmentId");
			}
			String postFractionAlong = null;
			if(projectionChild.hasAttribute("postFractionAlong")){
				postFractionAlong=projectionChild.getAttributeValue("postFractionAlong");
			}
			if(preCell != null)
			{
				connection.setA(PointerUtility.getPointer(prePopulationVariable, prePopulationType, Integer.parseInt(preCell)));
				if(preSegmentId != null)
				{
					Cell neuroMLCell = this.populateTypes.getGeppettoCellTypesMap().get(prePopulationType.getArrayType());
					connection.getA().setPoint(NeuroMLModelInterpreterUtils.getPointAtFractionAlong(neuroMLCell, preSegmentId,preFractionAlong));
				}
			}
			if(postCell != null)
			{
				connection.setB(PointerUtility.getPointer(postPopulationVariable, postPopulationType, Integer.parseInt(postCell)));
				if(postSegmentId != null)
				{
					Cell neuroMLCell = this.populateTypes.getGeppettoCellTypesMap().get(postPopulationType.getArrayType());
					connection.getB().setPoint(NeuroMLModelInterpreterUtils.getPointAtFractionAlong(neuroMLCell,postSegmentId,postFractionAlong));
				}
			}
		}